package com.sleep.blog.service;

import com.sleep.blog.vo.Result;
import com.sleep.blog.vo.params.ArticleParam;
import com.sleep.blog.vo.params.PageParams;

/**
 * @author Sleep-6000
 * @date 2021/9/10
 */
public interface ArticleService {
    /**
     * 分页查询 文章列表
     * @param pageParams 分页信息
     * @return 查询结果
     */
    Result listArticle(PageParams pageParams);

    /**
     * 查询最热文章
     * @param limit 最热文章条数
     * @return 查询结果
     */
    Result hotArticle(int limit);

    /**
     * 查询最新文章
     * @param limit 最新文章条数
     * @return 查询结果
     */
    Result newArticle(int limit);

    /**
     * 文章给归并
     * @return 查询结果
     */
    Result listArchives();

    /**
     * 文章详情页
     * @param id 文章 id
     * @return 文章详情
     */
    Result findArticleById(Long id);

    /**
     * 发布文章
     * @param articleParam articleParam
     * @return articleId
     */
    Result publish(ArticleParam articleParam);
}
